草庐IT

C++ double 到 long long

全部标签

c++ - 使用 std::unique_ptr 的 double (二维)数组

我有一个由指向指针的指针分配的double组。//pointertopointerint**x=newint*[5];//allocationfor(i=0;i我正在尝试使用unique_ptr来做到这一点:std::unique_ptr[]>a(newstd::unique_ptr[5]);for(i=0;i但一直收到错误消息说没有operator=匹配这些操作数。我在这里做错了什么? 最佳答案 您不能分配int*到std::unique_ptr,这就是你的错误的原因。正确的代码是a[i]=std::unique_ptr(newi

c++ - 为什么 double 的值在分配后似乎发生了变化?

在我的机器上,以下程序的结果对我来说有点奇怪。#includeusingnamespacestd;intmain(){doublea=20;doubleb=0.020;doublec=1000.0;doubled=b*c;if(a输出:$./testa我知道double不是那么准确,因为精度。但我不希望该值发生变化并给出不一致的比较结果。如果a打印出来,我确实希望a也应该打印出来。但是当我在我的i686服务器甚至我的cygwin上运行这段代码时。我可以看到a但看不到a.已确认此问题与平台有关。这是双重赋值的指令和实现方式不同造成的吗?更新生成的程序集:main:.LFB1482:pus

c++ - 模板编译失败 : 'double' is not a valid type for a template constant parameter

templateclassLowerBoundedType{};templateclassvectorelement{};templateclassvectorelement{typedefLowerBoundedTypetype;};有错误:error:'double'isnotavalidtypeforatemplateconstantparameter 最佳答案 唯一对非类型模板参数有效的数字类型是整数和枚举。因此,您不能拥有double类型的非类型模板参数。 关于c++-模板编译

c++ - C++ 中的 float 转换实际上是如何完成的?( double 到 float 或 float 到 double )

所以我搜索了这个主题,但没有找到真正相关的内容。我试图查看这个简单代码背后的程序集:intmain(intargc,char*argv[]){doubled=1.0;floatf=static_cast(d);system("PAUSE");return0;}这是(使用VisualStudio2012):15:doubled=1.0;000000013FD7C16Dmovsdxmm0,mmwordptr[__real@3ff0000000000000(013FD91AB0h)]000000013FD7C175movsdmmwordptr[d],xmm016:floatf=static_

c++ - 为什么列表初始化允许从 double 值转换为浮点值?

列表初始化({...}语法)不允许缩小转换。例如,尝试使用3.14f列表初始化inti会出现编译错误,因为从浮点值到整数的转换正在缩小::11:32:error:narrowingconversionof'3.1400001e+0f'from'float'to'int'inside{}[-Wnarrowing]inti{3.14f};^话虽如此,为什么可以用3.14构造一个double类型的floatf?(从double到float的转换被认为是缩小的。)执行以下操作:floatf{3.14};没有编译错误。 最佳答案 在被认为是缩

c++ - 如何在 C++ double 或 int 变量中存储某种 "null"?

我有一个看起来像这样的类structA{doublea1;intb1;doublea2;intb2;};我必须读取a1、b1、a2和b2的文件值。大多数时候所有四个数字都在文件上,但有时只有两个数字。当有两个数字时,我想将值存储在a1和b1中,而我想在a2中存储“无”>和b2。如果a2和b2是指针,我可以将它们指定为nullptr,但它们不是指针。我可以在double和int变量中存储一些东西来指示没有存储什么吗?我知道Boost.Optional可用,但我试图避免使用该库。 最佳答案 您可以将NAN分配给双a2,这也表明intb2

c++ - 如何计算 C++ 中 double vector 的累积和?

我有一个doublevector,我需要创建另一个数组,它是第一个元素的累加和。例如;vectorArray(10,1);vectorSum(10);Sum[0]=Array[0];for(unsignedinti=1;i是否有一个内置函数可以执行上述累加和? 最佳答案 未经测试,类似std::partial_sum(Array.begin(),Array.end(),Sum.begin(),plus());如果是C++,应该可以解决问题。(其实plus()可以默认出来,itseems。)

c++ - 如何在类的头文件中定义一个 const double?

在我的类的头文件中,我正在尝试以下操作并收到编译器投诉:private:staticconstdoublesome_double=1.0;您应该如何实际执行此操作? 最佳答案 在C++11中,由于constexpr,您可以拥有非整数常量表达式:private:staticconstexprdoublesome_double=1.0; 关于c++-如何在类的头文件中定义一个constdouble?,我们在StackOverflow上找到一个类似的问题: http

windows - CMD/windows 批处理 : how to pass a double quote and a larger than sign in a command argument?

我可以通过多种方式将双引号和大于号传递给任何命令:'"'、"\""、">"但是当我尝试将它们一起传递时C:\>echo"\">"Thesystemcannotfindthepathspecified.与"\"\>"相同。我可以使用单引号使其工作,但由于我已经处理了很多引号,所以我想保留所有内容双引号内。有什么办法可以避免吗?我在windows7上,但我相信这是一些向后兼容性“功能”,所以不确定此信息是否相关。编辑1:我认为Endoro的答案是正确的……但这并没有那么简单。CMD对^>的处理方式不同,具体取决于字符串中是否存在转义双引号。任何人都知道为什么?还是不同的转义方法?C:\>s

double - Kotlin 中使用数据类型 Double 的范围

如果我尝试编译这段代码...funmain(args:Array){for(iin1.0..2.0){println(i)}}...我收到错误提示For-looprangemusthavean'iterator()'method如果我添加一个step...funmain(args:Array){for(iin1.0..2.0step.5){println(i)}}...然后我得到一个新错误:Kotlin:Unresolvedreference.Noneofthefollowingcandidatesisapplicablebecauseofreceivertypemismatch:pu